/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.ufpb.halloc.negocio;

import java.io.Serializable;

/**
 *
 * @author leonardo
 */
public class Turma implements Serializable{
    
    
    private String codTurma;
    private String nrdisciplina;
    private String nomeTurma;
    private String nrCurso;

    
    
    public Turma(String id, String nomeTurma, String nrCurso, String _disciplina){
        this.codTurma = id;
        this.nomeTurma = nomeTurma;
        this.nrCurso = nrCurso;
        this.nrdisciplina = _disciplina;
    }
    
    
    public String getCodTurma() {
        return codTurma;
    }

    public void setCodTurma(String id) {
        this.codTurma = id;
    }
    
    
    public String getCodDisciplina() {
        return nrdisciplina;
    }

    
    public void setDisciplina(String _nrdisciplina) {
        this.nrdisciplina = _nrdisciplina;
    }
    
    /**
     * @return the nomeTurma
     */
    public String getNomeTurma() {
        return nomeTurma;
    }

    /**
     * @param nomeTurma the nomeTurma to set
     */
    public void setNomeTurma(String nomeTurma) {
        this.nomeTurma = nomeTurma;
    }

    /**
     * @return the nrCurso
     */
    public String getNrCurso() {
        return nrCurso;
    }

    /**
     * @param nrCurso the nrCurso to set
     */
    public void setNrCurso(String nrCurso) {
        this.nrCurso = nrCurso;
    }
    

    @Override
    public String toString(){
        return "Cod: " + this.codTurma + "\nNome: " + this.nomeTurma + "\n"
                + "Nº Disc: " + this.nrdisciplina + "\nNº Curso: " + this.nrCurso;
    }
    
   // public int getQtdAlunos() {
   //     return qtdAlunos;
   // }

   // public void setQtdAlunos(int qtdAlunos) {
   //     this.qtdAlunos = qtdAlunos;
   // }
    
//    
//    /**
//     * Adiciona uma nova disciplina nesta turma.
//     */
//    public void addDisciplina(Disciplina disc){
//        if (disc != null)
//            this.disciplinas.add(disc);
//    }
//    
//    
//    /**
//     * Remove uma nova disciplina nesta turma.
//     */
//    public void removeDisciplina(Disciplina disc) throws DisciplinaInexistenteException{
//        if (disciplinas.contains(disc))
//            disciplinas.remove(disc);
//        else
//            throw new DisciplinaInexistenteException("Não foi possível remover a disciplina " + disc.getNome() + ".\n" +
//                    " Verifique e tente novamente.");
//    }
//    
//    
//    /**
//     * Atualiza uma disciplina existente nesta turma.
//     */
//    public void atualizaDisciplina(Disciplina disc1, Disciplina disc2) throws DisciplinaInexistenteException, 
//            DisciplinaInvalidaException{
//        if (disciplinas.contains(disc1)) {            
//            if (disc2 != null) {
//                disciplinas.remove(disc1);
//                disciplinas.add(disc2);                
//            } else {
//                throw new DisciplinaInvalidaException("Ocorreu um erro ao tentar atualizar a disciplina, \n"
//                        + " verifique e tente novamente.");
//            }
//        } else {
//            throw new DisciplinaInexistenteException("Não foi possível remover a disciplina " + disc1.getNome() + ".\n" +
//                    " Verifique e tente novamente.");
//        }
//    }
//    
//    
//    
//    /**
//     * Verifica se a quantidade de alunos a serem removidas é possível,
//     * caso não seja, lança uma exceção indicando a violação da regra de
//     * negócio.
//     */
//    public void removerAlunos(int qtd) throws RemocaoDeAlunosImpossivelException{
//        if ((this.qtdAlunos - qtd) > 3)
//            qtdAlunos -= qtd;
//        else
//            throw new RemocaoDeAlunosImpossivelException("A quantidade de alunos a serem removidos excede o limite.");
//    }
//    
//    
//    public String toString(){        
//        return "Id: "+this.codTurma + " Quantidade de Alunos: " + this.qtdAlunos;
//    }

    
    
}
